Synology : Accès depuis Internet (DSM 6)


L’objectif de ce billet est configurer votre NAS Synology pour y avoir accès depuis internet, en HTTPS uniquement. Bien pratique lorsque l’on est au boulot derrière des proxys nous bloquant tous les ports ! Bien qu’avoir aperçu de nombreux billets et discussions sur des forums sur le sujet, la démarche à suivre pour avoir un accès via Internet n’est pas des plus clairvoyantes, surtout lorsque l’on souhaite une connexion sécurisée.

Cet article a été écrit pour DSM 5 mais est maintenant à jour pour DSM 6 (uniquement avec Nginx). Au final, nous pourrons accéder à l’administration du NAS via l’URL https://admin.thorpora.fr pour l’exemple.

Synology : Accès depuis Internet

Pour modifier les ports d’administration de votre NAS il suffit normalement de se rendre dans le Panneau de configuration > Réseau > Paramètre de DSM. Ceci dit, vous constaterez qu’il n’est pas possible de configurer ces ports sur 80 et 443 (ce qui est logique puisque cela engendrerait un conflit avec vos sites web). Il est néanmoins préférable de ne pas laisser les ports par défaut. Dans la suite de ce billet nous supposerons que les ports ont été modifiés à 40000 et 40001 respectivement pour le HTTP et HTTPS.

La suite nécessite des prérequis :

L’objectif est d’accéder à l’administration de notre NAS grâce à un virtual host, le tout en https !

POUR DSM 5 Uniquement : Avant de continuer, je dois vous avertir que vous ouvrez une petite faille de sécurité, petite car il est question ici de sensibiliser vos utilisateurs à ne jamais se connecter avec une connexion non sécurisé. En effet, il est nécessaire de désactiver l’option de redirection automatique HTTP vers HTTPS car celle-ci engendre un conflit de configuration. Cela n’a guère d’incidence, le plus important étant de ne jamais accéder à votre NAS depuis internet sans connexion sécurisé ! Pour désactiver l’option de redirection : Panneau de configuration > Réseau > Paramètre de DSM et décochez la redirection automatique.

POUR DSM 6 : il n’y a pas ce problème, on peut conserver la redirection automatique HTTP vers HTTPS tout ayant en parallèle notre vhost.

Création d’un dossier partagé

Cette partie est optionnelle, vous pouvez directement créer vos vhosts dans le répertoire /etc/nginx/sites-enabled. Personnellement, j’ai opté pour la création d’un répertoire partagé etc qui rassemble beaucoup de configurations du système, notamment les virtual hosts. L’idée est simplement de se prémunir d’éventuels changements de config de Syno et le cas échéant de simplement mettre à jour des liens symboliques.

La création d’un répertoire partagé ce fait depuis l’IHM : Panneau de configuration > Dossier partagé > créé (droits r/w admin).

Une fois cela fait, vous pouvez créer vos répertoires et fichiers (sudo -i pour passer root) :

$whoami

root

$mkdir /volume1/etc/vhost

$touch /volume1/etc/vhost/admin.thorpora.conf

$cd /etc/nginx/sites-enabled

$ln -s /volume1/etc/vhost/admin.thorpora.conf

$ls -l

admin.thorpora.conf -> /volume1/etc/vhost/admin.thorpora.conf

 

Voila, notre vhost est créé et sera automatiquement chargé par Nginx, il ne reste plus qu’à le metter à jour !

Configuration du virtual host (DSM 6 avec Nginx)

Précédemment dans cet article je préconisais de modifier le fichier des vhosts gérés par Synology : /etc/nginx/app.d/server.webstation-vhost.conf. En réalité ce n’est pas une bonne pratique puisque Synology est susceptible de régénérer ce fichier et même sans aucune action humaine ! La solution est donc de ne plus utiliser ce fichier mais simplement d’ajouter un vhost dans le répertoire initialement fait pour cela : /etc/nginx/sites-enabled.

Mise à jour du vhost /volume1/etc/vhost/admin.thorpora.conf :

server {

    listen      443 ssl;

    listen      [::]:443 ssl;

 

    server_name admin.thorpora.fr;

 

    ssl on;

    #ssl_certificate      /volume1/etc/cert/votreCertifFinal.pem;

    #ssl_certificate_key  /volume1/etc/cert/votreCléPrivé.key

   

    location / {

       proxy_pass https://127.0.0.1:40001;

    }

}

 

La configuration SSL requise par notre vhost (actif uniquement pour l’HTTPS) est héritée par celle déjà existante dans le fichier de configuration principal : /etc/nginx/nginx.conf. Si vous disposez de vos propres certificats vous pouvez mettre à jour les deux lignes commentées. Cet autre article explique comment générer ces fichiers. Autrement, vous aurez simplement l’alerte classique de sécurité du navigateur, ce qui n’est pas bien grave pour ce cas d’utilisation.

Un rechargement de Nginx est nécessaire : nginx -s reload

C’est terminé ! Vous devriez désormais avoir accès depuis Internet à votre NAS avec les urls suivantes (et uniquement celles-ci) :